package spectra.ee.web.qna.model;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.collections.FactoryUtils;
import org.apache.commons.collections.list.LazyList;

import spectra.ee.commons.common.model.Attach;
import spectra.ee.commons.qna.model.Qna;
import spectra.ee.commons.qna.model.QnaBoard;
import spectra.ee.commons.qna.model.QnaProcess;

public class QnaWebForm extends Qna
{
	/** 웹표시여부.(Y : 웹에서 보이기,N : 웹에서 숨기기). */
    private String webviewFlag;
    
    /** 질문내용. */
    private String questionContents;
    
    /** 질문 첨부파일. */
    private List questionAttachList = LazyList.decorate(new ArrayList(), FactoryUtils.instantiateFactory(Attach.class));

    /** 추가정보01. */
    private String option01;
    
    /** 추가정보02. */
    private String option02;
    
    /** 추가정보03. */
    private String option03;
    
    /** 추가정보04. */
    private String option04;
    
    /** 추가정보05. */
    private String option05;
    
    /** 추가정보06. */
    private String option06;
    
    /** 추가정보07. */
    private String option07;
    
    /** 추가정보08. */
    private String option08;
    
    /** 추가정보09. */
    private String option09;
    
    /** 추가정보10. */
    private String option10;
    
    /** 추가정보18. */
    private String option18;
    
    private QnaProcess questionProcess = new QnaProcess();
    
    private QnaBoard qnaBoard = new QnaBoard();
    
    public String getWebviewFlag()
    {
        return webviewFlag;
    }

    public void setWebviewFlag(String webviewFlag)
    {
        this.webviewFlag = webviewFlag;
    }

	public String getQuestionContents()
	{
		return questionContents;
	}

	public void setQuestionContents(String questionContents)
	{
		this.questionContents = questionContents;
	}
	
    public List getQuestionAttachList()
    {
        return questionAttachList;
    }

    public void setQuestionAttachList(List questionAttachList)
    {
        this.questionAttachList = questionAttachList;
    }

	public String getOption01()
	{
		return option01;
	}

	public void setOption01(String option01)
	{
		this.option01 = option01;
	}

	public String getOption02()
	{
		return option02;
	}

	public void setOption02(String option02)
	{
		this.option02 = option02;
	}

	public String getOption03()
	{
		return option03;
	}

	public void setOption03(String option03)
	{
		this.option03 = option03;
	}

	public String getOption04()
	{
		return option04;
	}

	public void setOption04(String option04)
	{
		this.option04 = option04;
	}

	public String getOption05()
	{
		return option05;
	}

	public void setOption05(String option05)
	{
		this.option05 = option05;
	}

	public String getOption06()
	{
		return option06;
	}

	public void setOption06(String option06)
	{
		this.option06 = option06;
	}

	public String getOption07()
	{
		return option07;
	}

	public void setOption07(String option07)
	{
		this.option07 = option07;
	}

	public String getOption08()
	{
		return option08;
	}

	public void setOption08(String option08)
	{
		this.option08 = option08;
	}

	public String getOption09()
	{
		return option09;
	}

	public void setOption09(String option09)
	{
		this.option09 = option09;
	}

	public String getOption10()
	{
		return option10;
	}

	public void setOption10(String option10)
	{
		this.option10 = option10;
	}

	public String getOption18()
	{
		return option18;
	}

	public void setOption18(String option18)
	{
		this.option18 = option18;
	}
	
	public QnaProcess getQuestionProcess()
    {
        questionProcess.setQnaId(qnaId);
        questionProcess.setDomainId(domainId);
        questionProcess.setNodeId(nodeId);
        questionProcess.setAccountId(accountId);
        questionProcess.setChannelId(questionChannelId);
        // questionProcess.setEmail(customerEmail);
        questionProcess.setTitle(questionTitle);
        questionProcess.setAttachCount(questionAttachList.size());

        return questionProcess;
    }

    public void setQuestionProcess(QnaProcess questionProcess)
    {
        this.questionProcess = questionProcess;
    }
	
	public QnaBoard getQnaBoard()
    {
        qnaBoard.setQnaId(qnaId);
        qnaBoard.setAccountId(accountId);
        qnaBoard.setDomainId(domainId);
        qnaBoard.setNodeId(nodeId);
        qnaBoard.setWebviewFlag(webviewFlag);

        return qnaBoard;
    }

    public void setQnaBoard(QnaBoard qnaBoard)
    {
        this.qnaBoard = qnaBoard;
    }
}
